package com.huluobo.a2303mdmdemo.demo

import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.VerticalPager
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import kotlinx.coroutines.runBlocking

/**
 *  Created by LC on 2025/8/15.
 */

@OptIn(ExperimentalFoundationApi::class)
@Composable
fun MyBanner() {
    val list = listOf(
        "https://img2.baidu.com/it/u=1134184213,2435039814&fm=253&fmt=auto?w=1062&h=800",
        "https://img1.baidu.com/it/u=2693733305,4035903587&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1729184400&t=92694ac7a4bb0b4a405af0e28c18cd82",
        "https://img0.baidu.com/it/u=540669065,2162680038&fm=253&app=120&size=w931&n=0&f=JPEG&fmt=auto?sec=1729184400&t=3adc1ec41d0f0d8ac469eb88eb19c531",
        "https://img2.baidu.com/it/u=553712968,3437602612&fm=253&app=120&size=w931&n=0&f=JPEG&fmt=auto?sec=1729184400&t=280fc51f8b1c0619aedbe9c1d5ce9895",
        "https://img0.baidu.com/it/u=1677400077,1401427640&fm=253&fmt=auto?w=679&h=1216"
    )

    //保存轮播图的数量
    val pageState = rememberPagerState {
        list.size
    }

    Column {
        //引导页
//        HorizontalPager(state = pageState, modifier = Modifier.fillMaxSize()) { index ->
//            Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.BottomCenter) {
//                AsyncImage(
//                    model = list[index],
//                    contentDescription = "",
//                    modifier = Modifier.fillMaxSize(),
//                    contentScale = ContentScale.Crop
//                )
//
//                if (pageState.currentPage == 4) {
//                    Button(onClick = {}, modifier = Modifier.padding(bottom = 50.dp)) {
//                        Text(text = "跳过")
//                    }
//                }
//            }
//        }
        Box(modifier = Modifier.height(300.dp), contentAlignment = Alignment.BottomCenter) {
            HorizontalPager(state = pageState, modifier = Modifier.height(300.dp)) { index ->
                AsyncImage(
                    model = list[index],
                    contentDescription = "",
                    contentScale = ContentScale.Crop,
                    modifier = Modifier.height(300.dp)
                )
            }

            Row(
                horizontalArrangement = Arrangement.Center, modifier = Modifier
                    .fillMaxWidth()
                    .offset(y = (-20).dp)
            ) {
                repeat(pageState.pageCount) { index ->
                    //对比,如果当前下标等于pager的页码,赋值深灰色,否则就是浅灰色
                    val color = if (pageState.currentPage == index) Color.DarkGray else Color.LightGray
                    Box(
                        modifier = Modifier
                            .size(16.dp)
                            .padding(3.dp)
                            .clip(CircleShape)
                            .background(color = color)
                    )
                }
            }
        }

        Button(onClick = {
            runBlocking {
                pageState.scrollToPage(3)
            }
        }) {
            Text(text = "翻页")
        }
    }
}